Method and apparatus for collecting and providing viewer feedback to a broadcast

ABSTRACT

The present invention provides an improved method and apparatus to collect and provide viewer feedback to broadcasts. According to one aspect of the present invention, a rating is generated for a broadcast by a server system. The rating is based at least in part on viewer feedback to the broadcast, and the rating indicates a likelihood of interest in the broadcast for potential subsequent viewers. Access to the rating is then provided so that predications can be made as to whether or not the broadcast will be of interest to potential subsequent viewers. According to another aspect of the present invention, the rating is provided from the server system to an entertainment system, and the broadcast can be selected for viewing at an entertainment system based on the rating generated by the server system. In one embodiment, the viewer feedback is received at the entertainment system in response to a feedback questionnaire.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation of prior application Ser. No.09/186,302, filed on Nov. 4, 1998.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention pertains to the field of broadcast systems.More particularly, this invention relates to the art of collecting andproviding viewer feedback to a broadcast.

[0004] 2. Background

[0005] The volume and variety of television, radio, and internetprogramming has increased considerably in recent years. For instance,digital cable systems and satellite antenna systems now offer hundredsof channels of programming twenty-four hours a day. Similarly, theInternet provides access to countless on-line interactive events. Evenwith a regular antenna, the airwaves in many markets are crammed full ofdozens of television and radio channels. Sorting through all of theviewing, listening, and interactive options can be time consuming andfrustrating.

[0006] A programming guide may be helpful, but most programming guidesmerely list broadcasts by time slot and channel. With hundreds ofchannels, including free channels, various categories of pay channels,pay per view channels, view on demand channels, etc., a programmingguide can become very long and confusing. A viewer could spend aconsiderable amount of time reading a list of broadcasts for a giventime slot and deciphering which broadcasts are actually available to theviewer.

[0007] All too often, a viewer may simply choose to flip through a fewchannels, or a great many channels as the case may be, until he or shefinds a broadcast that he or she can tolerate. When the viewer losesinterest, he or she may flip through some more channels, aimlesslylooking for something of interest. Meanwhile, advertisers, televisionproducers, and other programming providers want their broadcasts toreach the most receptive audiences possible. A viewer with hundreds ofchannels to choose from, who aimlessly flips through channels, caneasily miss an appealing broadcast or advertisement. So, both viewersand programming providers want to be able to identify broadcasts thatare likely to be of interest to particular viewers.

[0008] One way to predict how likely it is that a particular viewer willfind a broadcast interesting is to examine feedback from previousviewers; especially previous viewers who have similar characteristics.For instance, if 85% of female viewers ages 25 to 35 highly recommend abroadcast, a significant portion of subsequent female viewers ages 25 to35 are likely to enjoy the broadcast as well. For years, programmingproviders have used focus groups, surveys, Nielson ratings, etc. in anattempt to predict viewer preferences to make broadcasts appeal to thewidest possible audience or to target certain audiences. Theseapproaches have their limitations, however. For instance, they have donelittle to help viewers find the broadcasts that are most likely to beinteresting to them. Therefore, both viewers and programming providersneed an improved method and apparatus to collect and provide viewerfeedback to a broadcast based on viewer characteristics.

SUMMARY OF THE INVENTION

[0009] The present invention provides an improved method and apparatusto collect and provide viewer feedback to broadcasts. According to oneaspect of the present invention, a rating is generated for a broadcastby a server system. The rating is based at least in part on viewerfeedback to the broadcast, and the rating indicates a likelihood ofinterest in the broadcast for potential subsequent viewers. Access tothe rating is then provided so that predications can be made as towhether or not the broadcast will be of interest to potential subsequentviewers.

[0010] According to another aspect of the present invention, the ratingis provided from the server system to an entertainment system, and thebroadcast can be selected for viewing at the entertainment system basedon the rating generated by the server system. In one embodiment, viewerthe feedback is received at the entertainment system in response to afeedback questionnaire.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Examples of the present invention are illustrated in theaccompanying drawings. The accompanying drawings, however, do not limitthe scope of the present invention. Like references in the drawingsindicate similar elements.

[0012]FIG. 1 illustrates one embodiment of the present invention.

[0013]FIG. 2 demonstrates one embodiment of collecting and providingfeedback.

[0014]FIG. 3 demonstrates another embodiment of providing feedback.

[0015]FIG. 4 illustrates one embodiment of a news review questionnaire.

[0016]FIG. 5 illustrates one embodiment of an output format based on thenews review feedback.

[0017]FIG. 6 illustrates one embodiment of a movie review questionnaire.

[0018]FIG. 7 illustrates one embodiment of an output format based on themovie review feedback.

[0019]FIG. 8 illustrates one embodiment of a hardware system forentertainment system 100.

[0020]FIG. 9 illustrates one embodiment of a hardware system for systemcontroller 110.

DETAILED DESCRIPTION

[0021]FIG. 1 illustrates one embodiment of the present invention. Thepresent invention collects viewer feedback to a broadcast and generatesa rating for the broadcast based at least in part on the viewer feedbackand, in certain embodiments, characteristics of the viewer. The ratingindicates how likely it is that potential subsequent viewers will beinterested in the same broadcast or other broadcasts in a series. Ratinginformation can be collected from multiple viewers and made available topotential subsequent viewers and programming providers. A broadcast mayhave several categorized ratings based on characteristics of theviewers. For instance, in one embodiment, a broadcast rating mayindicate that 93% of children ages 4 to 6 of the 5279 who respondedenjoyed the broadcast and would like to see it again, 23% of adults ages25 to 35 of the 2497 who responded enjoyed the broadcast and wouldrecommend it for children, 6% of adults over age 75 of the 238 whoresponded enjoyed the broadcast and would recommend it for children,etc.

[0022] As discussed below in more detail, entertainment system 100 ofFIG. 1 represents a wide variety of audio, video, and interactive mediasystems. Under the control of system controller 110, entertainmentsystem 100 collects viewer feedback from viewer 130 regarding abroadcast by providing questionnaire 115 and receiving viewer feedback120. A broadcast may include a wide range of programming including anews segment, a situation comedy, a movie, a documentary, a commercialadvertisement, an on-line interactive event, etc.

[0023] Entertainment system 100 sends the viewer feedback to programmingguide server 170 over communications medium 150. Programming guideserver 170 then generates a rating for the broadcast based at least inpart on the feedback. The rating can also be based on feedback fromadditional viewers 180. The rating indicates a likelihood of interest inthe broadcast for potential subsequent viewers. Ratings can be generatedfor multiple broadcasts and stored at programming guide server 170 wherethe ratings can be accessible to potential subsequent viewers andprogramming service providers 160 over communications medium 150.

[0024] Communications medium 150 represents a wide variety of media,including cable, optical fiber, satellite transmissions, telephonelines, radio frequency transmissions, and network communications such asover the Internet. Communications can also be digital and/or analog.

[0025]FIG. 2 demonstrates one embodiment of the present invention.First, in step 210, system controller 110 provides a feedbackquestionnaire to viewer 130. In one embodiment, questionnaire 130 isprovided at any time during or shortly after a broadcast at the requestof viewer 130. For instance, viewer 130 may have particularly enjoyed orhated a broadcast, so he or she may voluntarily take a moment to offerfeedback. Alternately viewer 130 may be prompted to give feedback, sothat viewer 130 can either give feedback or positively decline to givefeedback.

[0026] In some embodiments, programming service providers 160 and/orprogramming guide server 170 may offer incentives to viewer 130 toencourage viewer 130 to give feedback. For instance, the more feedbackprogramming guide server 170 receives, the more accurate the ratings arelikely to be, and the more valuable the ratings are likely to be forprogramming service providers 160 and potential subsequent viewers. Anincentive may be a small discount on service charges for each feedbackresponse. Alternately, feedback incentives may be provided for onlycertain broadcasts, depending on how much feedback is needed or wanted.For a new broadcast, the broadcast could be provided to a test audienceto obtain ratings prior to wide distribution. In which case, feedbackmay be required of test audience viewers or additional incentives may beoffered.

[0027] In step 220, system controller 110 receives viewer feedback 120in response to questionnaire 115. Questionnaire 115, and hence viewerfeedback 120, can take several different forms, as discussed below withreference to FIGS. 4 and 6. For instance, questionnaire 115 can bespecifically designed to gather particular information about abroadcast, or it can be a single generic question, such as “Did you likethis broadcast?”

[0028] In step 230, system controller 110 provides the feedback toprogramming guide server 170 over communications medium 150. Asdiscussed below with reference to FIGS. 4 and 6, the characteristicinformation can also be gathered along with the feedback to thebroadcast. For instance, specific questions can be added toquestionnaire 115 to collect particular characteristic information.

[0029] In alternate embodiments, viewer characteristics can also bestored at system controller 110 or programming guide server 170. Variousmeans could be used to automatically identify viewer 130, for instance,using face recognition software. Alternately, questionnaire 130 couldprompt viewer 130 for a some form of viewer identification such as anidentification number, and the identification number could be used toretrieve an anonymous viewer characteristic file. A viewercharacteristic file could store information such as age, gender, maritalstatus, family size, geographic location, education level, income level,etc. It could also store information that may be useful to programmingservice providers 160, such as the hardware capabilities ofentertainment system 100 and viewer 130's viewing habits, includingchannel preferences, viewing duration, types of Internet web sitesvisited, etc. A viewer characteristics file could also be updated overtime as viewing habits change, the viewer grows older, component areadded or deleted from entertainment system 100, a sport season beingsand ends, etc. If a viewer's characteristics file were remotelyaccessible, the characteristic file could be used for the viewer at anyof a number of different entertainment systems, for instance, at theviewers home, work, neighbor's house, a hotel, etc.

[0030] In step 240, programming guide server 170 generates a rating ofthe broadcast based at least in part on viewer feedback 120. The ratingcan also be based on the characteristic information about the viewer.The ratings, as discussed below with reference to FIGS. 5 and 7, can beused in several different forms. For instance, separate ratings may begenerated for different categories of viewers.

[0031] In step 250, programming guide server 170 provides the ratings topotential subsequent viewers and programming providers 160. In oneembodiment, ratings are downloaded to potential subsequent viewers alongwith programming information. For instance, one embodiment ofprogramming guide server 170 provides programming guides to viewers on aregular basis, and ratings for some or all of the programs are providedalong with the programming guide. In which case, the variousentertainment systems, used by potential subsequent viewers includingviewer 130 and additional viewers 180, may perform a variety ofoperations using the ratings information. Similarly, ratings informationcan be downloaded to programming service providers 160 on a regularbasis. Programming service providers 160 may also perform a variety ofoperations using the ratings information.

[0032] In alternate embodiments, ratings information is stored centrallyat programming guide server 170. In which case, programming guide server170 performs various operations using the ratings information and onlyprovides the results of the operations to potential subsequent viewersand/or programming service providers 160. Ratings information may alsobe provided in real time. For instance, a viewer's screen may include afeedback meter that is repeatedly updated as ratings are generated fromfeedback provided by other viewers, for instance, in the viewer'scommunity. In which case, the viewer could see how the other viewers areresponding to a program as the viewer is watching it.

[0033]FIG. 3 demonstrates one embodiment of providing ratings topotential subsequent viewers. The method could be performed centrally byprogramming guide server 170 or locally by the various entertainmentsystems of potential subsequent viewers. In the illustrated embodiment,a potential viewer is consulting a programming guide provided byprogramming guide server 170. In step 310, viewer characteristicinformation is received. The viewer may provide this information in anumber of different ways, including menu selections, voice commands,etc. Alternately, the information may be stored in a viewercharacteristic file, stored locally or remotely. A viewer characteristicfile may be selected automatically, based on face recognition forinstance, or the viewer may be prompted to enter some form ofidentification. Viewer characteristic information may also be acombination of retrieved data and user provided data. For instance, theviewer may be in the mood for a drama or a situation comedy. In whichcase, the viewer may input his or her preference, and a file may beretrieved that includes a list of the viewer's favorite dramas andsituation comedies, as well as other characteristic information.

[0034] In step 320, the respective system controller or programmingguide server 170 assembles a list of broadcasts based on a comparison ofbroadcast classification data and viewer characteristics. The broadcastclassification data, as discussed below with reference to FIG. 7, caninclude a channel and time slot, a title, a synopsis, a parentalguidance warning, etc. For instance, the characteristic information mayinclude a list of programming sources or channels that are available tothe particular user at the particular entertainment system. In whichcase, the list of broadcasts may include only those broadcasts that areavailable. For example, if a viewer's entertainment system does notreceive satellite broadcasts, then satellite broadcasts can be left offthe list.

[0035] Assembling the list can be based on numerous additionalcharacteristics. In one embodiment, a face recognition utility could beused to automatically retrieve viewer characteristic files for a numberof concurrent viewers and automatically cross-reference thecharacteristics. For instance, if children are among the viewers in theroom, characteristic files for the children may instruct the systemcontroller to lock out broadcasts having adult content that would not besuitable for children.

[0036] In one embodiment, however, all broadcasts currently being aired,soon to be aired, currently available on pay per view or view on demand,etc. are listed even if the viewer does not have access to all of thebroadcasts. For instance, inaccessible broadcasts could be listed in adifferent type face than accessible broadcasts. In this situation, aviewer may be encouraged to purchase access to more programming sourcesin the future if the viewer knows what he or she is missing on thosechannels.

[0037] Then, in step 330, each broadcast in the list can be rankedaccording to viewer characteristics and ratings. The ratings categoriescan be very detailed. For instance, a category could be limited toviewers who characteristically enjoy the same dramas and situationcomedies as the potential viewer. The program with the highest rating inthe category is ranked highest. Numerous additional viewercharacteristics could also be used to identify which rating category touse. For instance, the rating categories could include viewers ages 45to 55, viewers in metropolitan areas of Europe, viewers who playrole-playing games on the Internet, etc. The possibilities for viewercharacteristic categories are virtually limitless.

[0038] Viewer characteristics for multiple simultaneous viewers can alsobe cross-referenced. Various aggregation techniques could be used tocombine ratings. For instance, in one embodiment, if a viewer'scharacteristics match several ratings categories, the weighted averageof the ratings could be used for a particular broadcast. In one example,viewer characteristics match three categories. In category A, 50% of the500 responses were positive for the particular broadcast. In category B,75% of the 2000 responses were positive. In category C, 90% of the 200responses were positive. For this particular set of ratings categories,the weighted average for the broadcast is 71.481% positive.

[0039] Two simultaneous viewers, however, may have only categories A andC in common. In which case, the weighted average for both viewerstogether for the particular broadcast is 61.429% positive. Ifsimultaneous viewers have no ratings categories in common, broadcastscould be ranked and listed separately for each viewer, or rankedseparately but listed together in different type faces.

[0040] Once all the broadcasts have been ranked, the ranked list ofbroadcasts can be provided in step 340. The first broadcast on the listis intended to be the most likely broadcast that is of interest to theviewer. Thus, the viewer does not have to sort through a vast array ofprogramming choices.

[0041] Similarly, programming service providers 160 have moreinformation to predict which broadcasts will appeal to particular targetaudiences. In one embodiment, programming service providers 160 haveaccess to anonymous viewer characteristic information. In which case,programming service providers can target advertise broadcasts directlyto viewers for whom the broadcast ranks highly. For instance, when aviewer downloads a programming guide, the guide may include atailor-made list of broadcasts that are likely to appeal to the specificviewer. Separate lists could be provided for each viewer who uses aparticular entertainment system.

[0042]FIG. 4 illustrates one embodiment of a questionnaire. In theillustrated embodiment, the questionnaire is designed to collectspecific types of information regarding a news segment. Here, the newssegment is part of a national address given by the President of theUnited States. In one embodiment, the questionnaire may be automaticallyprovided at the end of the broadcast to a test audience in order toprompt the test audience for feedback. Alternately, a viewer of thebroadcast may volunteer to provide feedback. In which case, the viewermay press a button on a remote control or a keyboard, or issue a voicecommand, which interrupts system controller 110.

[0043] In response, system controller 110 identifies the broadcast. Inone embodiment, the broadcast currently being viewed is identified.Alternately, the broadcast can be identified by prompting the viewer toidentify the broadcast from a list of recently viewed broadcasts. Thensystem controller 110 can access a storage medium to retrieve a specificquestionnaire, if one exists, or a generic questionnaire for thebroadcast. The storage medium may store hundreds of questionnaireslocally which were downloaded along with a programming guide fromprogramming guide server 170. Alternately, system controller 110 mayaccess programming guide server 170 to download questionnaires asrequests for feedback are received.

[0044] In the illustrated embodiment, the specific questionnaireincludes a broadcast synopsis so that the viewer can verify he or she isproviding feedback to the correct broadcast. The questionnaire alsoincludes questions for gathering characteristic information in additionto feedback questions. Once the questionnaire is completed andsubmitted, the information can be sent to programming guide server 170.Additional characteristic information may also be sent, for instance,from a viewer characteristics file. In certain embodiments, severalresponses may be stored for several broadcasts before being sent toprogramming guide server 170.

[0045]FIG. 5 illustrates one embodiment of an output format that may beused by a programming service provider. The ratings are categorizedaccording to certain characteristics that are important to theprogramming provider. For instance, the results may help a politicallymotivated programming provider to decide whether or not to distributethe broadcast to a wider audience, and if so, to which audience thebroadcast should be targeted based on viewer characteristics.

[0046] The feedback can also be used to make changes in the presentationbefore the broadcast is aired again or made available to a wideraudience. In one embodiment, feedback could be collected from viewersduring a live presentation. In which case the ratings could be displayedto the presenter or the writer of the presentation in, for instance, abar graph format so the ratings would be easy to read. Then, based onthe feedback, the presenter or writer may choose to make mid-coursecontent changes.

[0047]FIG. 6 illustrates one embodiment of a movie review questionnaire.The questionnaire includes title, genre, and synopsis information, allof which could be taken from a programming guide, and could be includedin a generic movie review questionnaire. The illustrated questionnaire,however, includes specific questions for this particular movie. Forinstance, the programming providers want to know if viewers areinterested in more movies about the same character, and differentquestions are posed to children than parents.

[0048]FIG. 7 illustrates one output format using the ratings generatedfrom the questionnaire of FIG. 6. At the top portion of the screen, aviewer indicates some characteristics. Here, the viewer is interested inanimated children's stories with some educational content. The viewer is10 years old. Additional characteristic information may be supplied froma viewer characteristics file. The lower portion of the screen listssearch results from among the broadcasts currently available. The listincludes the title and synopsis of each broadcast as well as ratingsinformation. Based on the characteristics of the viewer, the firstbroadcast in the list is intended to be the most likely to beinteresting to the viewer.

[0049] In alternate embodiments, the questionnaire and output screenscan be displayed in pop-up windows, full screen displays, side-bardisplays, etc. The questionnaire and output screens may include manyadditional forms of broadcast classification data such as a broadcastidentification number, the producer, the distributor, the length of thebroadcast, a parental guidance warning, etc. The broadcastidentification information may be downloaded with a programming guide orretrieved individually from programming guide server 170.

[0050]FIG. 8 is a block diagram illustrating the system components of anexemplary entertainment system 100 of FIG. 1. System 100 includestelevision/display device 802, video recorder/playback device 806,digital video disk (DVD, also referred to as digital versatile disk)recorder/playback device 814, audio/video tuner and/or amplifier 810,audio playback/recorder device 822, and compact disc (CD) player 812,all coupled to a common input/output (I/O) bus 808. It is to beappreciated that the use of the common I/O bus 808 is for ease ofexplanation in the diagram only, and that a number of alternative meansof routing input and output signals may be beneficially employed. Forexample, audio input and output could be routed with an appropriatenumber of independent audio “patch” cables, video signals may be routedwith independent coaxial cables, and control signals may be routed alonga two-wire serial line, or through infrared (IR) communication signalsor radio frequency (RF) communication signals. By way of furtherexample, audio, video, and/or control signals may also be routed alongone or more buses in accordance with the Universal Serial BusSpecification, Revision 1.0 (Jan. 15, 1996), or the High PerformanceSerial Bus IEEE Standard 1394, IEEE std. 1394-1995, draft 8.0v3,approved Dec. 12, 1995.

[0051] In addition, system 100 includes speaker system 816, microphone818, video camera 820 and a wireless input/output control device 832. Inone embodiment, wireless I/O control device 832 is an entertainmentsystem remote control unit which communicates with the components ofsystem 100 through IR signals. In another embodiment, wireless I/Ocontrol device 832 may be a wireless keyboard and/or cursor controldevice that communicates with the components of system 100 through IRsignals or RF signals. In yet another embodiment, wireless I/O controldevice 832 may be an IR or RF remote control device similar inappearance to a typical entertainment system remote control with theadded feature of a track-ball or other cursor control mechanism thatallows a user to position a cursor on a display of system 100.

[0052] At the core of system 100 is system controller 110 incorporatedwith the features of the present invention as discussed above andconfigured to control a variety of features associated with the systemcomponents. As depicted, system controller 110 is coupled to each of thesystem components, as necessary, through I/O bus 808. In one embodiment,in addition to or in place of I/O bus 808, system controller 110 may beconfigured with a wireless communications transmitter (or transceiver),which is capable of communicating with the system components via IRsignals or RF signals 808′. Regardless of the control medium, systemcontroller 110 is configured to control each of the entertainment systemcomponents of system 100, although it is understood that each of thecomponents may be individually controlled with wireless I/O device 832.

[0053] System controller 110 retrieves and stores entertainmentprogramming information available from a wide variety of sources. Duringoperation of system 100, system controller 110 dynamically configuresthe operating parameters of system 100 and offers additional value addedfeatures to enhance the user's enjoyment of system 100, such as featuresof the present invention as discussed above. In one embodiment, systemcontroller 110 maybe a computer system incorporated with the teachingsof the present invention, as will be discussed in further detail below.In another embodiment, system controller 110 may be a “set-top” boxendowed with the necessary processing power and incorporated with theteachings of the present invention. Regardless of the particularembodiment, system controller 110 may also be referred to as a“convergence system” designed to integrate the world of entertainmentsystems and computing platforms to achieve the beneficial results suchas the present invention.

[0054] Although the present invention is described in the context of theexemplary embodiments presented in the figures and based on thedescriptions, those skilled in the art will appreciate that the presentinvention is not limited to these embodiments and may be practiced in avariety of alternate embodiments. Accordingly, the innovative featuresof the present invention may be practiced in a system of greater orlesser complexity than that of the system depicted in FIG. 8. By way ofexample, devices may be added to system 100, or devices (e.g., videocamera 820, microphone 818, DVD recorder/playback device 814, etc.) maybe removed from system 100.

[0055] As illustrated in FIG. 8, system 100 can be configured to receiveaudio/video programming input from a wide variety of sources. In oneembodiment, system 100 receives programming input from any or all of thefollowing sources: cable broadcast 824, satellite broadcast 826 (e.g.,via a satellite dish), very high frequency (VHF) or ultra high frequency(UHF) radio frequency communication of the broadcast networks 834 (e.g.,via an aerial antenna), and/or the telephone/computer network interface828. Further, it will be appreciated by those skilled in the art thatcable broadcast input 824, satellite broadcast input 826 and VHF/UHFinput 834 may include analog and/or digital programming. Additionally,audio/video programming may be received from a CD-ROM, DVD, or otherdigital or analog storage device via a playback device of system 100(e.g., DVD recorder/playback device 814). The Internet, an entertainmentnetwork, or other network may also provide audio/video programming, via,for example, interface 828.

[0056] In addition to programming input, system 100 is also configuredwith a number of general purpose control outputs 830 which may beconfigured to control any number of devices. In one embodiment, forexample, as system controller 804 configures system 100 to display amovie, it may also dim the lights in the room to a predetermined levelto further enhance the viewing environment. Control circuitry whichallows a computing device to control, for example, lighting, thermostatsettings, and other household appliances (via, for example, theelectrical wiring in a house) are well known in the art and thus willnot be described further.

[0057] Except for the incorporated teachings of the present invention asdescribed above, system controller 110 is intended to represent a broadcategory of computing devices known in the art. An example of such acomputing device is a desktop computer system equipped with a highperformance microprocessor(s), such as the Pentium® processor, Pentium®Pro processor, or Pentium® II processor manufactured by and commonlyavailable from Intel Corporation of Santa Clara, Calif. Another exampleof such a computing device is an Internet “appliance” device, such as aWebTV™ Internet Terminal available from Sony Electronics Inc. of ParkRidge, N.J., or Philips Consumer Electronics Company of Knoxville, Tenn.It is to be appreciated that the housing size and design for systemcontroller 110 may be altered, allowing it to better visually fit intosystem 100.

[0058] It is also to be appreciated that the several entertainmentsystem components depicted in FIG. 8 can be beneficially combined. Byway of example, system controller 110 could be integrated intotelevision/display device 802, DVD recorder/playback device 814, oraudio/video tuner and amplifier 810.

[0059]FIG. 9 illustrates one embodiment of a computing device suitablefor use with the present invention. According to one implementation,system controller 110 of FIG. 1 is a computing device 900 of FIG. 9. Inthe illustrated embodiment of FIG. 9, device 900 includes processor 902and cache memory 904 coupled to each other as shown. Additionally,device 900 includes high performance input/output (I/O) bus 906 andstandard I/O bus 908. Host bridge 910 couples processor 902 to highperformance I/O bus 906, whereas I/O bus bridge 912 couples the twobuses 906 and 908 to each other. Coupled to bus 906 arenetwork/communication interface 924 and system memory 914. Coupled tobus 908 is mass storage 920, keyboard and pointing device 922, and I/Oports 926. Collectively, these elements are intended to represent abroad category of hardware systems, including but not limited to generalpurpose computer systems based on the Pentium® processor, Pentium(g Proprocessor, or Pentium® II processor, manufactured by Intel Corporationof Santa Clara, Calif.

[0060] In one embodiment, various electronic devices are also coupled tohigh performance I/O bus 906. As illustrated, analog tuner/digitalsatellite/cable devices 928, are also coupled to high performance I/Obus 906 to allow device 900 to “tune” to various programming inputchannels.

[0061] These elements 902-928 perform their conventional functions knownin the art. In particular, network/communication interface 924 is usedto provide communication between device 900 and any of a wide range ofconventional networks, such as an Ethernet, token ring, the Internet,etc. It is to be appreciated that the circuitry of interface 924 isdependent on the type of network the device 900 is being coupled to.

[0062] Mass storage 920 is used to provide permanent storage for thedata and programming instructions to implement the above describedfunctions, whereas system memory 914 is used to provide temporarystorage for the data and programming instructions when executed byprocessor 902. I/O ports 926 are one or more serial and/or parallelcommunication ports used to provide communication between additionalperipheral devices which may be coupled to device 900.

[0063] It is to be appreciated that various components of device 900 maybe re-arranged. For example, cache 904 may be on-chip with processor902. Alternatively, cache 904 and processor 902 may be packaged togetheras a “processor module”, with processor 902 being referred to as the“processor core”. Furthermore, certain implementations of the presentinvention may not require nor include all of the above components. Forexample, mass storage 920, keyboard and pointing device 922, and/ornetwork/communication interface 924 may not be included in device 900.Additionally, the peripheral devices shown coupled to standard I/O bus908 may be coupled to high performance I/O bus 906; in addition, in someimplementations only a single bus may exist with the components ofdevice 900 being coupled to the single bus. Furthermore, additionalcomponents may be included in device 900, such as additional processors,storage devices, buses, or memories.

[0064] In one embodiment, the present invention is implemented as aseries of software routines run by device 900 of FIG. 9. These softwareroutines comprise a plurality or series of instructions to be executedby a processor in a hardware system, such as processor 902 of FIG. 9.Initially, the series of instructions are stored on a storage device,such as mass storage 920. It is to be appreciated that the series ofinstructions can be stored using any conventional storage medium, suchas a diskette, CD-ROM, magnetic tape, DVD, laser disk, ROM, Flashmemory, etc. It is also to be appreciated that the series ofinstructions need not be stored locally, and could be received from aremote storage device, such as a server on a network, vianetwork/communication interface 924. The instructions are copied fromthe storage device, such as mass storage 920, into memory 914 and thenaccessed and executed by processor 902. In one implementation, thesesoftware routines are written in the C++ programming language. It is tobe appreciated, however, that these routines may be implemented in anyof a wide variety of programming languages.

[0065] In alternate embodiments, the present invention is implemented indiscrete hardware or firmware. For example, one or more applicationspecific integrated circuits (ASICs) could be programmed the functionsof the present invention. By way of another example, the presentinvention can be implemented in one or more ASICs of an additionalcircuit board for insertion into hardware system 900 of FIG. 9.

[0066] In one embodiment, hardware system 900 includes control circuitryto retrieve a questionnaire from system memory 914, mass storage 920, orprogramming guide server 170 over network/communication interface 924.Processor 902 or some other form of hardware device like a digitalsignal processor (DSP) or one or more ASICs may comprise the controlcircuitry. The questionnaire is retrieved in response to a feedbackrequest. As discussed above, a feedback request may be generatedautomatically, for instance at the end of a particular broadcast, or ondemand by a viewer. The questionnaire can be provided to viewer 130 overI/O ports 926 using a viewer interface displayed on television/displaydevice 802. The user interface may also be provided over speaker system816, and viewer input may be received from a cursor control device ontelevision/display device 802, a keypad, for instance on wireless I/Odevice 832, or voice recognition through microphone 818.

[0067] After reading the forgoing, those skilled in the art willrecognize that a number of alternative embodiments are also enabled. Forinstance, programming guide server 170 may be a distributed applicationwith a different server for each of several different regions orentertainment systems. In another embodiment, programming guide server170 could also be combined with programming service providers 160.

[0068] In certain embodiments, ratings may not always be publiclyavailable, depending on the type of broadcast. For instance, ratings fora commercial advertisement may only be available to the programmingprovider who aired the commercial. Furthermore, programming providersmay be able to request that particular ratings be made unavailable. Forinstance, if ratings are very bad, it may be better to air a broadcastwith no ratings rather than bad ratings.

[0069] Thus, a method and apparatus to collect and provide feedback to abroadcast is described. Whereas many alterations and modifications ofthe present invention will be comprehended by a person skilled in theart after having read the foregoing description, it is to be understoodthat the particular embodiments shown and described by way ofillustration are in no way intended to be considered limiting.Therefore, references to details of particular embodiments are notintended to limit the scope of the claims.

What is claimed is:
 1. A method comprising: presenting a broadcast to aviewer; receiving feedback to the broadcast from the viewer; generatinga rating of the broadcast based at least in part on the receivedfeedback to the broadcast from the viewer, and providing to the viewerratings of other broadcasts based at least in part on received viewerfeedback to the other broadcasts from other viewers.
 2. The method ofclaim 1 wherein receiving feedback comprises receiving feedback from theviewer after the broadcast.
 3. The method of claim 1 wherein receivingfeedback comprises providing a questionnaire to the viewer in responseto a request from the viewer to provide feedback.
 4. The method of claim3 wherein the request from the viewer comprises an identification of onefrom among a list of broadcasts recently viewed by the viewer.
 5. Themethod of claim 1 wherein receiving feedback from the viewer comprisesreceiving answers to a questionnaire, the questionnaire includingquestions that are specific to the broadcast.
 6. The method of claim 1further comprising offering an incentive to the viewer to encourage theviewer to provide feedback.
 7. The method of claim 1 further comprisingreceiving viewer characteristic information about the viewer along withthe feedback from the viewer.
 8. The method of claim 7 wherein theviewer characteristic information includes hardware capabilities of anentertainment system of the viewer.
 9. The method of claim 7 whereingenerating a rating comprises generating a rating using the viewercharacteristic information to generate separate ratings for differentcategories of viewers.
 10. The method of claim 1 wherein the ratings ofother broadcasts comprise an indication of a proportion of viewerfeedback which is positive toward the broadcast.
 11. The method of claim1 further comprising providing the generated rating of the broadcast toprogramming providers.
 12. The method of claim 1 wherein providingratings of other broadcasts comprises providing the ratings along with aprogramming guide that includes the other broadcasts.
 13. The method ofclaim 1 wherein providing ratings of other broadcasts comprisesrepeatedly updating provided ratings as viewer feedback is received. 14.The method of claim 1 further comprising presenting a programming guideof the broadcasts to the viewer wherein the other broadcasts are rankedbased on the ratings.
 15. The method of claim 7 further comprising:assembling a list of available broadcasts using viewer characteristicinformation for the viewer; ranking the available broadcasts in the listbased on the rating for each respective broadcast; and presenting aprogramming guide to the viewer showing the ranked.
 16. The method ofclaim 7 further comprising presenting a programming guide of the otherbroadcasts to the viewer wherein the other broadcasts are ranked basedon the rating and on the viewer characteristic information.
 17. Amachine-readable medium having stored thereon data representingsequences of instructions which, when executed by a machine, cause themachine to perform operations comprising: presenting a broadcast to aviewer; receiving feedback to the broadcast from the viewer; generatinga rating of the broadcast based at least in part on the receivedfeedback to the broadcast from the viewer, and providing to the viewerratings of the broadcasts based at least in part on received viewerfeedback to the other broadcasts from other viewers.
 18. The medium ofclaim 17 wherein the instructions causing the machine to performoperations comprising receiving feedback further comprise instructionscausing the machine to perform operations comprising providing aquestionnaire to the viewer in response to a request from the viewer toprovide feedback.
 19. The medium of claim 17 wherein the instructionscausing the machine to perform operations comprising generating a ratingfurther comprise instructions causing the machine to perform operationscomprising generating a rating using viewer characteristic informationto generate separate ratings for different categories of viewers. 20.The medium of claim 17, the instructions causing the machine to performoperations further comprising: assembling a list of available broadcastsusing viewer characteristic information for the viewer; ranking theavailable broadcasts in the list based on the rating for each respectivebroadcast; and presenting a programming guide to the viewer showing theranked list to the selected viewer.
 21. An entertainment systemcontroller comprising: a storage medium to store a questionnaireregarding a broadcast that is presented to a viewer on a display device;control circuitry to provide a feedback questionnaire to the viewer; aviewer interface to receive feedback to the broadcast from the viewerbased on the feedback questionnaire; and a communications interface toprovide the feedback to the broadcast from the viewer to a server systemand to receive ratings from the server system regarding other availablebroadcasts based on viewer feedback from other viewers, the ratingsindicating a likelihood of interest in the available broadcasts for theviewer, wherein the control circuitry further provides the ratingsregarding other available broadcasts to the viewer.
 22. Theentertainment system controller of claim 21 wherein the controlcircuitry retrieves the questionnaire from the storage medium inresponse to a request from the viewer.
 23. The entertainment systemcontroller of claim 21 wherein the communications interface comprises atleast one of a local area network, a wide area network, internet, cabletelevision line, twisted pair line, fiber optic line, or radio frequencycommunications interface.
 24. The entertainment system controller ofclaim 21 wherein the communications interface provides viewercharacteristic information to the server system along with the viewerfeedback.
 25. The entertainment system controller of claim 21 furthercomprising a register containing information regarding the entertainmentsystem of the viewer and wherein the communications interface provideshardware capabilities information from the register to the server systemalong with the viewer feedback.
 26. The entertainment system controllerof claim 21 further comprising a storage medium to store informationregarding available broadcasts and wherein the control circuitryassembles a list of available broadcasts using viewer characteristicinformation for a selected viewer; ranks the available broadcasts in thelist based on the rating for each respective broadcast; and presents aprogramming guide showing the ranked list to the viewer.
 27. Anentertainment server system comprising: a communications interface toreceive viewer feedback to a broadcast from a plurality of differentviewers of the broadcast; and a processor to generate a rating of thebroadcast based at least in part on the received viewer feedback to thebroadcast, the rating indicating a likelihood of interest in the firstbroadcast for potential subsequent viewers, wherein the communicationsinterface provides the rating of the broadcast to viewer entertainmentsystems for display to potential subsequent viewers of the broadcast thepotential subsequent viewers including the plurality of differentviewers of the broadcast.
 28. The system of claim 27 further comprisinga programming guide server to provide a programming guide to the viewerentertainment systems through the communications interface thebroadcasts of the programming guide being associated with a rating. 29.The system of claim 27 wherein the communications interface receivesviewer characteristic information along with the viewer feedback andwherein the control circuitry generates a rating using the viewercharacteristic information to generate separate ratings for differentcategories of viewers.
 30. The system of claim 27 further comprising astorage medium to store information regarding available broadcasts andwherein the control circuitry assembles a list of available broadcastsusing viewer characteristic information for a selected viewer; ranks theavailable broadcasts in the list based on the rating for each respectivebroadcast; and wherein the communications interface provides aprogramming guide showing the ranked list to an entertainment system ofthe selected viewer.